package com.server.common.logistice.sfd.create;

import com.google.gson.annotations.SerializedName;
import com.server.common.logistics.response.LogisticsResponse;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

@Data
@NoArgsConstructor
@Getter
@Setter
public class SFDCreateOrderResponse{

    @SerializedName("orderId")
    private String orderId;
    @SerializedName("originCode")
    private String originCode;
    @SerializedName("destCode")
    private String destCode;
    @SerializedName("filterResult")
    private Integer filterResult;
    @SerializedName("remark")
    private String remark;
    @SerializedName("waybillNoInfoList")
    private List<WaybillNoInfoList> waybillNoInfoList;
    @SerializedName("routeLabelInfo")
    private List<RouteLabelInfo> routeLabelInfo;

    @NoArgsConstructor
    @Data
    public static class WaybillNoInfoList {
        @SerializedName("waybillType")
        private Integer waybillType;
        @SerializedName("waybillNo")
        private String trackingNumber;
    }

    @NoArgsConstructor
    @Data
    public static class RouteLabelInfo {
        @SerializedName("code")
        private String code;
        @SerializedName("routeLabelData")
        private RouteLabelData routeLabelData;
        @SerializedName("message")
        private String message;

        @NoArgsConstructor
        @Data
        public static class RouteLabelData {
            @SerializedName("waybillNo")
            private String trackingNumber;
            @SerializedName("sourceTransferCode")
            private String sourceTransferCode;
            @SerializedName("sourceCityCode")
            private String sourceCityCode;
            @SerializedName("sourceDeptCode")
            private String sourceDeptCode;
            @SerializedName("sourceTeamCode")
            private String sourceTeamCode;
            @SerializedName("destCityCode")
            private String destCityCode;
            @SerializedName("destDeptCode")
            private String destDeptCode;
            @SerializedName("destDeptCodeMapping")
            private String destDeptCodeMapping;
            @SerializedName("destTeamCode")
            private String destTeamCode;
            @SerializedName("destTeamCodeMapping")
            private String destTeamCodeMapping;
            @SerializedName("destTransferCode")
            private String destTransferCode;
            @SerializedName("destRouteLabel")
            private String destRouteLabel;
            @SerializedName("proName")
            private String proName;
            @SerializedName("cargoTypeCode")
            private String cargoTypeCode;
            @SerializedName("limitTypeCode")
            private String limitTypeCode;
            @SerializedName("expressTypeCode")
            private String expressTypeCode;
            @SerializedName("codingMapping")
            private String codingMapping;
            @SerializedName("codingMappingOut")
            private String codingMappingOut;
            @SerializedName("xbFlag")
            private String xbFlag;
            @SerializedName("printFlag")
            private String printFlag;
            @SerializedName("twoDimensionCode")
            private String twoDimensionCode;
            @SerializedName("proCode")
            private String proCode;
            @SerializedName("printIcon")
            private String printIcon;
            @SerializedName("abFlag")
            private String abFlag;
            @SerializedName("destPortCode")
            private String destPortCode;
            @SerializedName("destCountry")
            private String destCountry;
            @SerializedName("destPostCode")
            private String destPostCode;
            @SerializedName("goodsValueTotal")
            private String goodsValueTotal;
            @SerializedName("currencySymbol")
            private String currencySymbol;
            @SerializedName("cusBatch")
            private String cusBatch;
            @SerializedName("goodsNumber")
            private String goodsNumber;
            @SerializedName("errMsg")
            private String errMsg;
            @SerializedName("checkCode")
            private String checkCode;
            @SerializedName("proIcon")
            private String proIcon;
            @SerializedName("fileIcon")
            private String fileIcon;
            @SerializedName("fbaIcon")
            private String fbaIcon;
            @SerializedName("icsmIcon")
            private String icsmIcon;
            @SerializedName("destGisDeptCode")
            private String destGisDeptCode;
        }
    }
}
